package com.tidu.strategy.sync;

import java.util.List;
import java.util.Map;

public interface SyncStrategy {
    /**
     * 获取数据
     */
    List<Map<String, Object>> fetchData();
    /**
     * 根据offset获取数据（新增方法）
     */
    default List<Map<String, Object>> fetchData(long offset) {
        // 默认实现保持向后兼容
        return null;
    }
    /**
     * 写入数据
     */
    void writeData(List<Map<String, Object>> dataList);
    /**
     * 判断是否同步完成
     */
    boolean isCompleted();
    /**
     * 获取同步进度
     */
    String getProgress();
    /**
     * 保存offset（新增方法）
     */
    default void saveOffset(long offset) {
        // 默认空实现
    }
    /**
     * 加载offset（新增方法）
     */
    default Long loadOffset() {
        // 默认空实现
        return null;
    }
}
